﻿/****************************************************************************************************
	Copyright (C) 2010 RapidWebDev Organization (http://rapidwebdev.org)
	Author: Eunge, Legal Name: Jian Liu, Email: eunge.liu@RapidWebDev.org

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 2 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ****************************************************************************************************/

using System;
using BaoJianSoft.Common;
using BaoJianSoft.Common.Web;
using BaoJianSoft.Platform;
using MembershipLoginStatus = BaoJianSoft.Platform.LoginResults;

namespace BaoJianSoft.Web
{
    public partial class LogOn : SupportDocumentReadyPage
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            this.ButtonLogin.Click += new EventHandler(ButtonLogin_Click);
        }

        void ButtonLogin_Click(object sender, EventArgs e)
        {
            IAuthenticationContext authenticationContext = SpringContext.Current.GetObject<IAuthenticationContext>();
            try
            {
                LoginResults loginResults = authenticationContext.Login(this.textboxUser.Text, this.textboxPassword.Text);
                switch (loginResults)
                {
                    case MembershipLoginStatus.InvalidCredential:
                        this.MessagePanelLogin.ShowError(Resources.Common.Logon_InvalidUserCredential);
                        break;
                    case MembershipLoginStatus.InvalidOrganization:
						this.MessagePanelLogin.ShowError(Resources.Common.Logon_InvalidOrganizationCredential);
                        break;
                }
            }
            catch (Exception exp)
            {
                Logger.Instance(this).Error(exp);
				this.MessagePanelLogin.ShowError(Resources.Common.Logon_UnknowException);
            }
        }
    }
}
